package com.bfly.mall.wechat.minipro.dto;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import java.io.Serializable;

/**
 * 微信退款申请实体类
 *
 * @author 长沙商脉科技有限公司
 * @date 2020/12/11 11:12
 */
@XmlRootElement(name = "xml")
@XmlAccessorType(XmlAccessType.FIELD)
public class WeChatRefundOrderResponse implements Serializable {

    private static final long serialVersionUID = -432173358420810034L;

    /**
     * SUCCESS/FAIL
     * 此字段是通信标识，表示接口层的请求结果，并非退款状态
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:13
     */
    private String return_code;

    /**
     * 当return_code为FAIL时返回信息为错误原因
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:13
     */
    private String return_msg;

    /**
     * SUCCESS/FAIL
     * SUCCESS退款申请接收成功，结果通过退款查询接口查询
     * FAIL 提交业务失败
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:12
     */
    private String result_code;

    /**
     * 错误代码
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:12
     */
    private String err_code;

    /**
     * 错误代码描述
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:12
     */
    private String err_code_des;

    /**
     * 微信订单号
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:12
     */
    private String transaction_id;

    /**
     * 商户系统内部订单号，要求32个字符内，只能是数字、大小写字母_-|*@ ，且在同一个商户号下唯一
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:11
     */
    private String out_trade_no;

    /**
     * 商户系统内部的退款单号，商户系统内部唯一，只能是数字、大小写字母_-|*@ ，同一退款单号多次请求只退一笔
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:11
     */
    private String out_refund_no;

    /**
     * 微信退款单号
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:11
     */
    private String refund_id;

    /**
     * 退款总金额,单位为分,可以做部分退款
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:11
     */
    private int refund_fee;

    /**
     * 订单总金额，单位为分，只能为整数
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:11
     */
    private int total_fee;

    /**
     * 现金支付金额，单位为分，只能为整数
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/12/11 23:10
     */
    private int cash_fee;

    public String getReturn_code() {
        return return_code;
    }

    public void setReturn_code(String return_code) {
        this.return_code = return_code;
    }

    public String getReturn_msg() {
        return return_msg;
    }

    public void setReturn_msg(String return_msg) {
        this.return_msg = return_msg;
    }

    public String getResult_code() {
        return result_code;
    }

    public void setResult_code(String result_code) {
        this.result_code = result_code;
    }

    public String getErr_code() {
        return err_code;
    }

    public void setErr_code(String err_code) {
        this.err_code = err_code;
    }

    public String getErr_code_des() {
        return err_code_des;
    }

    public void setErr_code_des(String err_code_des) {
        this.err_code_des = err_code_des;
    }

    public String getTransaction_id() {
        return transaction_id;
    }

    public void setTransaction_id(String transaction_id) {
        this.transaction_id = transaction_id;
    }

    public String getOut_trade_no() {
        return out_trade_no;
    }

    public void setOut_trade_no(String out_trade_no) {
        this.out_trade_no = out_trade_no;
    }

    public String getOut_refund_no() {
        return out_refund_no;
    }

    public void setOut_refund_no(String out_refund_no) {
        this.out_refund_no = out_refund_no;
    }

    public String getRefund_id() {
        return refund_id;
    }

    public void setRefund_id(String refund_id) {
        this.refund_id = refund_id;
    }

    public int getRefund_fee() {
        return refund_fee;
    }

    public void setRefund_fee(int refund_fee) {
        this.refund_fee = refund_fee;
    }

    public int getTotal_fee() {
        return total_fee;
    }

    public void setTotal_fee(int total_fee) {
        this.total_fee = total_fee;
    }

    public int getCash_fee() {
        return cash_fee;
    }

    public void setCash_fee(int cash_fee) {
        this.cash_fee = cash_fee;
    }
}